﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FA.Library.Plugin;

namespace FA.Library.Sim.Events
{
    /// <summary>
    /// Event handler for messages sent by the sim plugin.
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="param"></param>
    public delegate void SimMessageEvent(object sender, SimMessageEventArgs param);

    /// <summary>
    /// Event data.
    /// </summary>
    public class SimMessageEventArgs : SimEventParam
    {
        public string Message { get; private set; }
        public SimMessageLevel MessageLevel { get; private set; }

        public SimMessageEventArgs(string message, SimMessageLevel messageLevel)
        {
            Message = message;
            MessageLevel = messageLevel;
        }
    }

    /// <summary>
    /// The message level.
    /// </summary>
    public enum SimMessageLevel
    {
        Debug,
        Trace,
        Info,
        Warn
    }
}